// 使用class关键字来定义一个类
/* 
  属性
  方法
*/
class Person{
  /* 
    直接定义的属性，是实例属性，需要通过的对象的实例去访问
      const per = new Person()
      per.name

    使用static开头的属性时静态属性（类属性），可以直接通过类去使用
      Person.age

    readonly 表示只读属性，不可修改
  */
  // 定义实例属性
  // readonly name:string = '孙悟空';
  name = "孙悟空"

  // 在属性前使用static关键字可以定义类属性（静态属性）
  // static age:number = 18;
  age = 18


  /* 定义方法 
    如果方法前加上了static则方法就是类方法
  */
  static sayHello(){
    console.log('hello');
    
  }
}

const per = new Person

// console.log(per);
// console.log(per.age,per.name);

// console.log(Person.age);

// per.sayHello()
Person.sayHello()